12 research outputs found

    Trace Spaces: an Efficient New Technique for State-Space Reduction

    Get PDF
    State-space reduction techniques, used primarily in model-checkers, all rely on the idea that some actions are independent, hence could be taken in any (respective) order while put in parallel, without changing the semantics. It is thus not necessary to consider all execution paths in the interleaving semantics of a concurrent program, but rather some equivalence classes. The purpose of this paper is to describe a new algorithm to compute such equivalence classes, and a representative per class, which is based on ideas originating in algebraic topology. We introduce a geometric semantics of concurrent languages, where programs are interpreted as directed topological spaces, and study its properties in order to devise an algorithm for computing dihomotopy classes of execution paths. In particular, our algorithm is able to compute a control-flow graph for concurrent programs, possibly containing loops, which is "as reduced as possible" in the sense that it generates traces modulo equivalence. A preliminary implementation was achieved, showing promising results towards efficient methods to analyze concurrent programs, with very promising results compared to partial-order reduction techniques

    An Efficient Implementation of a Quasi-polynomial Algorithm for Generating Hypergraph Transversals

    Full text link
    Given a finite set V, and a hypergraph , the hypergraph transversal problem calls for enumerating all minimal hitting sets (transversals) for . This problem plays an important role in practical applications as many other problems were shown to be polynomially equivalent to it. Fredman and Khachiyan (1996) gave an incremental quasi-polynomial time algorithm for solving the hypergraph transversal problem [9]. In this paper, we present an efficient implementation of this algorithm. While we show that our implementation achieves the same bound on the running time as in [9], practical experience with this implementation shows that it can be substantially faster. We also show that a slight modification of the algorithm in [9] can be used to give a stronger bound on the running time

    Approximation of relations by propositional formulas: complexity and semantics

    No full text
    International audienceSelman and Kautz introduced the notion of approximation of a theory and showed its usefulness for knowledge compilation and on-line reasoning. We study here the complexity of the main computational problems related to the approximation of relations (sets of possible worlds) by propositional formulas, and the semantics of reasoning with these approximations (deduction and abduction). The classes of formulas that we consider are those of (reversed-)Horn, bijunctive, and affine formulas, which are the most interesting for storing knowledge. Concerning the computation of approximations, we survey and complete the results that can be found in the literature, trying to adopt a unified point of view. On the contrary, as far as we know this paper is the first real attempt to study the semantics of abduction with the bounds of a theory

    Towards the Complexity of Recognizing Pseudo-intents

    No full text
    Abstract. Pseudo-intents play a key rôle in Formal Concept Analy-sis. They are the premises of the implications in the Duquenne-Guigues Base, which is a minimum cardinality base for the set of implications that hold in a formal context. It has been shown that checking whether a set is a pseudo-intent is in conp. However, it is still open whether this problem is conp-hard, or it is solvable in polynomial time. In the current work we prove a first lower bound for this problem by showing that it is at least as hard as transversal hypergraph, which is the problem of identifying the minimal transversals of a given hypergraph. This is a prominent open problem in hypergraph theory that is conjec-tured to form a complexity class properly contained between p and conp. Our result explains why the attempts to find a polynomial algorithm for recognizing pseudo-intents have failed until now. We also formulate a decision problem, namely first pseudo-intent, and show that if this problem is not polynomial, then, unless p = np, pseudo-intents cannot be enumerated with polynomial delay in a specified lexicographic order.

    Berge multiplication for monotone boolean dualization

    No full text
    Given the prime CNF representation φ of a monotone Boolean function f: {0, 1} n ↦ → {0, 1}, the dualization problem calls for finding the corresponding prime DNF representation ψ of f. A very simple method (called Berge multiplication [3, Page 52–53]) works by multiplying out the clauses of φ from left to right in some order, simplifying whenever possible using the absorption law. We show that for any monotone CNF φ, Berge multiplication can be done in subexponential time, and for many interesting subclasses of monotone CNF’s such as CNF’s with bounded size, bounded degree, bounded intersection, bounded conformality, an

    On the Complexity of the Multiplication Method for Monotone CNF/DNF Dualization

    No full text
    Given the irredundant CNF representation ϕ\phi of a monotone Boolean function f:{0,1}n{0,1}f:\{0,1\}^n\mapsto\{0,1\}, the dualization problem calls for finding the corresponding unique irredundant DNF representation ψ\psi of ff. The (generalized) multiplication method works by repeatedly dividing the clauses of ϕ\phi into (not necessarily disjoint) groups, multiplying-out the clauses in each group, and then reducing the result by applying the absorption law. We present the first non-trivial upper-bounds on the complexity of this multiplication method. Precisely, we show that if the grouping of the clauses is done in an output-independent way, then multiplication can be performed in sub-exponential time (nψ)O(ϕ)ϕO(logn)(n|\psi|)^{O(\sqrt{|\phi|})}|\phi|^{O(\log n)}. On the other hand, multiplication can be carried-out in quasi-polynomial time \poly(n,|\psi|)\cdot|\phi|^{o(\log |\psi|)}, provided that the grouping is done depending on the intermediate outputs produced during the multiplication process
    corecore